from langchain_core.prompts import ChatPromptTemplate

from common.llm_builder import llm_messages, llm

# 1-创建一个ChatPromptTemplate
chat_prompt_template = ChatPromptTemplate.from_messages(llm_messages)
print("-----chat_prompt_template_type:", type(chat_prompt_template))
print("-----llm_type:", type(llm))

# 2-构建链式对象
llm_chain = chat_prompt_template | llm

# 3-调用模型(模板+变量=>提示词)
chat_prompt_detail = chat_prompt_template.format_messages(
    role="数学",
    domain="数字计算",
    question="1+150=?"
)
print("-----chat_prompt_detail:", chat_prompt_detail)

# 4-打印响应结果
response = llm.stream(chat_prompt_detail)
print("-----Hold on, LLM 正在回答！-----")
for chunk in response:
    # 打印不换行
    print(chunk.content, end="")
